package com.mallcloud.mall.app.api.entity.vo;

import com.mallcloud.mall.common.core.constant.enums.app.WxPayEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;

@ApiModel(value="WxPay2UnifiedOrderInfoVO",description="微信统一下单请求参数")
@Data
public class WxPay2UnifiedOrderInfoVO implements Serializable {
	private static final long serialVersionUID = 1L;

    @ApiModelProperty("小程序唯一标识(在微信小程序管理后台获取)")
    private String appid;

    @ApiModelProperty("商品描述")
    private String body;

    @ApiModelProperty("设备号")
    private String device_info;

    @ApiModelProperty("商户号")
    private String mch_id;

    @ApiModelProperty("随机字符串")
    private String nonce_str;

    @ApiModelProperty("签名")
    private String sign;

    @ApiModelProperty("通知地址")
    private String notify_url;

    @ApiModelProperty("openId")
    private String openid;

    @NotBlank(message = "商户订单号不能为空")
    @ApiModelProperty("商户订单号")
    private String out_trade_no;

    @ApiModelProperty("终端IP")
    private String spbill_create_ip;

    @ApiModelProperty("标价金额(单位为分)")
    private String total_fee;

	/**
	 * {@link WxPayEnum.TradeTypeEnum}
	 */
	@ApiModelProperty("交易类型(JSAPI -JSAPI支付 NATIVE -Native支付 APP -APP支付)")
    private String trade_type = WxPayEnum.TradeTypeEnum.JSAPI.name();
    
    @ApiModelProperty("附加数据 传了接口就签名错误!!")
    private String attach;
}